//
//  MKBaseTableViewController.swift
//  MKWeiBo2017
//
//  Created by nicolas on 2017/5/9.
//  Copyright © 2017年 nicolas. All rights reserved.
//创建这个父类是为了满足登录和未登录两种情况

import UIKit

class MKBaseTableViewController: UITableViewController {

    var userLogin: Bool = MKUserAccountViewModel.sharedInstance.isUserLogin
    
    override func loadView() {
       
        if userLogin {
            super.loadView()
        }else {
            //用户没有登录
            view = visitorView
            //设置控制器成为visitor的代理
            visitorView.delegate = self
            //根据不同控制器设置不同的访客视图
            //is:判断一个对象是否是指定类型
            if self is MKHomeViewController {
                visitorView.startRotationAnimation()
            } else if self is MKMessageViewController {
                   visitorView.setupVistorInfo(imageName: "visitordiscover_image_message", message: "登录后，别人评论你的微博，发给你的消息，都会在这里收到通知")
            } else if self is MKDiscoveryViewController {
                visitorView.setupVistorInfo(imageName: "visitordiscover_image_message", message: "登录后，你的微博、相册、个人资料会显示在这里，展示给别人")
                
            } else if self is MKProfileViewController {
                 visitorView.setupVistorInfo(imageName: "visitordiscover_image_profile", message: "登录后，你的微博、相册个人资料会显示在这里，展示给别人")
            }
            
            //设置导航栏
            //导航栏上面显示的内容不是导航控制器决定的，是根据导航控制器正在显示的子控制器来决定的
            self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: UIBarButtonItemStyle.plain, target: self, action: #selector(visitorViewDidClickRegister))
            self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", style: UIBarButtonItemStyle.plain, target: self, action: #selector(visitorViewDidClickLogin))
        }
    }
    

    lazy var visitorView: MKVisitorView = MKVisitorView()

}

//MARK: - 扩展
extension MKBaseTableViewController: MKVisitorViewDelegate {
    
    func visitorViewDidClickRegister() {
        
    }
    
    func visitorViewDidClickLogin() {
        
        let oauthVc = MKOauthViewController()
        
        let naviVc = UINavigationController(rootViewController: oauthVc)
        
        self.present(naviVc, animated: true, completion: nil)
    }
}
